"""
RAG 应用主程序
"""
import os
from dotenv import load_dotenv
from config import DOCUMENTS_DIR
from vector_store import VectorStoreManager

def main():
    """主程序入口"""
    # 加载环境变量
    load_dotenv()
    
    # 检查必要的环境变量
    if not os.getenv("OPENAI_API_KEY"):
        print("错误: 未设置 OPENAI_API_KEY 环境变量")
        return
    
    # 初始化向量存储管理器
    vector_store = VectorStoreManager()
    
    # 检查文档目录
    if not os.path.exists(DOCUMENTS_DIR):
        print(f"请在 '{DOCUMENTS_DIR}' 目录中放入您要处理的文档")
        return
    
    # 创建索引
    print("正在创建文档索引...")
    index = vector_store.create_index()
    
    # 交互式查询循环
    print("\n索引创建完成！您可以开始提问了（输入 'q' 退出）")
    while True:
        query = input("\n请输入您的问题: ").strip()
        if query.lower() == 'q':
            break
            
        try:
            response = vector_store.query(index, query)
            print("\n回答:", response.response)
        except Exception as e:
            print(f"发生错误: {str(e)}")

if __name__ == "__main__":
    main() 